Fahrplan

1PL Modell

\[ logit(P(X_{pi}=1)) = \theta_p - \beta_i \]

  • Logit: Transformation unseres linearen Terms, damit die Werte zwischen 0 und 1 liegen. Wahrscheinlichkeit \(p\) durch Gegenwahrscheinlichkeit \(1-p\).
  • Inverse der logit ist die logistische Funktion.

1PL Modell: Umformen

\[ logit(P(X_{pi}=1)) = \ln\left(\frac{P(X_{pi}=1)}{1-P(X_{pi}=1)}\right) = \theta_p - \beta_i \]

1PL Modell: Umformen

\[ \frac{p_{pi}}{1-p_{pi}} = exp(\theta_p - \beta_i) \]

\[ p_{pi} = exp(\theta_p - \beta_i)*( 1-p_{pi}) \]

1PL Modell: Umformen

\[ p_{pi} + p_{pi} * exp(\theta_p - \beta_i) = exp(\theta_p - \beta_i) \]


\[ p_{pi} + p_{pi} * exp(\theta_p - \beta_i) = exp(\theta_p - \beta_i) \]


\[ p_{pi}*(1+exp(\theta_p - \beta_i)) = exp(\theta_p - \beta_i) \]

1PL Schreibweise 1

\[ P(X_{pi}=1) = \frac{exp(\theta_p - \beta_i)}{1 + exp(\theta_p - \beta_i)} \]

1PL Schreibweise 2

\[ P(X_{pi}=1) = \frac{e^{\theta_p - \beta_i}}{1 + e^{\theta_p - \beta_i}} \]

1PL Schreibweise 3

\[ P(X_{pi}=1) = \frac{1}{1 + e^{\color{#9B1B34}{-}\theta_p \color{#9B1B34}{+} \beta_i}} \]

Beispiel

\[ \frac{exp(1 - 0.8)}{1 + exp(1 - 0.8)} = 0.55 \]

Wahrscheinlichkeit einer richtigen Antwort über 0.5, wenn \(\theta_p > \beta_i\).

Beispiel

\[ \frac{exp(0.8 - 1)}{1 + exp(0.8 - 1)} = 0.45 \]

Wahrscheinlichkeit einer richtigen Antwort unter 0.5, wenn \(\theta_p < \beta_i\).

Höher parametrisierte   IRT Modelle

Neue Paramter

Wir können Parameter zu diesem Modell hinzufügen, wodurch wir flexibler in der Modellierung werden:

  • Schwierigkeit \(\beta_i\) (Intercept)
  • Steigung \(\alpha\) (Faktorladung, Diskriminationsparameter)
  • Ratewahrscheinlichkeit \(\gamma_i\)

3PL

\[ P(X_{pi}=1) = \color{#aaa938}{\gamma_i} + (1-\color{#aaa938}{\gamma_i})\frac{exp(\color{#F4BA02}{\alpha_i}(\theta_p - \color{#99D9DD}{\beta_i})))}{1 + exp(\color{#F4BA02}{\alpha_i}(\theta_p - \color{#99D9DD}{\beta_i}))} \]

  • Schwierigkeit
  • Diskriminationsparamter
  • Ratewahrscheinlichkeit
    • z.B. bei 4 Antwortmöglichkeiten: \(\gamma_i = 1/4 = 0.25\)

2PL

\(\gamma_i = 0\)

\[ P(X_{pi}=1) = \color{#9B1B34}{0} + (1-\color{#9B1B34}{0})\frac{exp(\alpha_i(\theta_p - \beta_i)))}{1 + exp(\alpha_i(\theta_p - \beta_i))} \]

1PL

\(\alpha_i = 1\)

\[ P(X_{pi}=1) = 0 + (1-0)\frac{exp(\color{#9B1B34}{1}(\theta_p - \beta_i)))}{1 + exp(\color{#9B1B34}{1}(\theta_p - \beta_i))} \]

Darstellung

Simulieren von IRT Daten

Jetzt ist ein guter Zeitpunkt, und uns ein sehr mächtiges Werkzeug anzuschauen: Datensimulation.

Übung

Geht zur Übung und probiert euch aus.

Welches Modell?

1PL vs. 3PL

Modellfit beurteilen

  • Gesamtmodell
  • Itemfit
  • Personenfit

Gesamten Modellfit

Es gibt verschiedene Fit-Statistiken, die uns bei Aussagen über den Modellfit helfen, z.B.:

Deviance

Deviance ist ein Maß für die relative Distanz einer Vorhersage von perfeketer Accuracy.
Wir können uns die Konvergenzplots anschauen:

Code
library(TAM)

data(data.sim.rasch)

mod_2pl <- tam.mml.2pl(resp = data.sim.rasch, verbose = FALSE, irtmodel = "2PL")

plotDevianceTAM(mod_2pl)

Fit Indices (z.B. AIC, BIC)

Da die Deviance (fast) immer besser wird, je mehr Parameter wir ins Modell mit aufnehmen, bestrafen bestimmte Fit Indices die Anzahl der Parameter.
Schätzen die out-of-Sample predictive accuracy.
Es gibt keine Daumenregeln für Cutoff Werte, allerdings können wir die Fit Indices für den Vergleich von genesteten Modellen nutzen.

**** Calculate Residuals 
**** Calculate Counts 
**** Calculate Covariances 
Test of Global Model Fit (Maximum Chi Square)
    maxX2 Npairs p.holm
1 9.79789    780      1

MADaQ3 Statistic and Test of Global Model Fit (Maximum aQ3)
  MADaQ3 maxaQ3      p
1 0.0179 0.0851 0.1082

Summary of Q3 and adjusted Q3 statistics (based on posterior distribution)
  type       M     SD     min    max  SGDDM wSGDDM
1   Q3 -0.0228 0.0227 -0.1011 0.0622 0.0263 0.0263
2  aQ3  0.0000 0.0227 -0.0783 0.0851 0.0179 0.0179

Fit Statistics
100*MADCOV       SRMR      SRMSR 
     0.281      0.014      0.018 

Inferenzstatistisch

Wir könne auch den Likelihood Ratio Test nutzen, um die Modelle zu vergleichen. Er erlaubt zum einen den Vergleich der empirischen und der Modellimplizierten Kovarianzmatrix, aber auch den Vergleich der Kovarianzmatrizen genesteter Modelle.

Hängt von der Stichprobengröße ab und hat auch einige weitere Probleme. Sollte deshalb nicht in Isolation genutzt werden, sondern möglichst mit den besprochenen deskriptiven Fitmaßen zusammen.

Itemfit

Um den Itemfit zu beurteilen, plotten wir die erwarteten und die beobachteten Itemkurven übereinander:

Code
invisible(
plot(mod_2pl,
  items = 1:3, 
  export = FALSE,
  observed = TRUE,
  package = "graphics")
)

Itemfit

Achtung! Die grafische Überprüfung ist stark von der Binwidth abhängig, die man wählt.

Infit/Outfit

Sind Residuen-basierte Fit-Statistiken, die die Steigung der ICC characterisieren. Wenn erwartete und modellimplizierte Steigung sich unterscheiden, schlagen die Fit-Kriterien aus. Fit-Kriterien unter 1 sind stärker diskriminierend, über 1 sind sie weniger diskriminierend als die mittlere Item-Diskrimination. Es sollten also vor allem Items mit einem Fit-Kriterium über 1 genauer betrachtet werden.
Infit/Outfit sind relativ, da sie den Item-Fit relativ zu den anderen Items im Itemset beurteilen.

Cut-off Werte sind abhängig von der Stichprobengröße (siehe hierhttps://www.edmeasurementsurveys.com/residual-based-item-fit-statistics.html)

Infit

Sensitiv für Abweichungen bei Items, die von der Schwierigkeit auf die Person zugeschnitten sind (Itemschwierigkeit und Personenfähigkeit passen zu einander).

Outfit

  • Sensitiv für Outlier (z.B. leistungsstarke Personen beantworten ein sonst leichtes Item falsch)
Item fit calculation based on 15 simulations
|**********|
|----------|
$itemfit
   parameter    Outfit     Outfit_t   Outfit_p Outfit_pholm     Infit
1         I1 0.9780409 -0.576308619 0.56440660            1 1.0013494
2         I2 0.9820237 -0.498625112 0.61804351            1 0.9991403
3         I3 0.9987497 -0.029547472 0.97642796            1 1.0012145
4         I4 0.9604845 -1.255004117 0.20947727            1 1.0050121
5         I5 0.9794843 -0.660719521 0.50879220            1 0.9970508
6         I6 0.9740289 -0.850398661 0.39510348            1 1.0005279
7         I7 1.0179503  0.599624539 0.54875649            1 0.9966413
8         I8 1.0052598  0.182511562 0.85518128            1 0.9944602
9         I9 1.0152704  0.560503277 0.57513620            1 0.9974073
10       I10 0.9917126 -0.319889956 0.74905175            1 1.0033164
11       I11 0.9917989 -0.318002139 0.75048331            1 1.0064069
12       I12 0.9967672 -0.130715715 0.89600020            1 1.0016170
13       I13 0.9857494 -0.626717215 0.53084462            1 1.0029439
14       I14 1.0151240  0.624549367 0.53226686            1 0.9964867
15       I15 1.0048168  0.236567675 0.81299220            1 0.9958065
16       I16 1.0103206  0.476364267 0.63381489            1 1.0008957
17       I17 1.0215247  1.094058292 0.27392941            1 0.9961174
18       I18 0.9953483 -0.231013698 0.81730416            1 1.0041563
19       I19 0.9935511 -0.300233910 0.76399874            1 1.0037807
20       I20 1.0072951  0.355990867 0.72184740            1 0.9986891
21       I21 1.0099858  0.517507405 0.60480200            1 0.9977055
22       I22 0.9873865 -0.635480606 0.52511501            1 1.0001529
23       I23 1.0000779  0.003747688 0.99700978            1 1.0018889
24       I24 1.0110724  0.504911768 0.61362081            1 1.0010781
25       I25 0.9884819 -0.520899844 0.60243654            1 1.0052147
26       I26 1.0139181  0.612221829 0.54039100            1 0.9993889
27       I27 1.0116876  0.537864218 0.59067079            1 0.9994712
28       I28 0.9867591 -0.565962341 0.57141938            1 1.0038802
29       I29 0.9618879 -1.518316679 0.12893459            1 1.0080864
30       I30 1.0258644  1.077846964 0.28110206            1 1.0008372
31       I31 1.0053181  0.206319263 0.83654153            1 1.0012691
32       I32 1.0069146  0.271850214 0.78573719            1 1.0023504
33       I33 0.9800967 -0.693249832 0.48815278            1 1.0037898
34       I34 1.0118021  0.427608339 0.66893629            1 1.0025484
35       I35 1.0014069  0.044908822 0.96417999            1 0.9979476
36       I36 0.9959900 -0.135937283 0.89187086            1 1.0049082
37       I37 0.9698964 -0.902937038 0.36655931            1 1.0031028
38       I38 1.0387388  1.094524269 0.27372511            1 0.9954315
39       I39 0.9841293 -0.416253414 0.67722458            1 1.0055851
40       I40 1.0725781  1.799926377 0.07187226            1 0.9880288
       Infit_t   Infit_p Infit_pholm
1   0.04761368 0.9620241           1
2  -0.01330216 0.9893867           1
3   0.04653676 0.9628824           1
4   0.16750714 0.8669710           1
5  -0.08500820 0.9322549           1
6   0.02536491 0.9797639           1
7  -0.10570061 0.9158199           1
8  -0.18712349 0.8515638           1
9  -0.08776949 0.9300599           1
10  0.13417881 0.8932612           1
11  0.25696458 0.7972061           1
12  0.07247986 0.9422200           1
13  0.13640412 0.8915018           1
14 -0.14025970 0.8884548           1
15 -0.19702952 0.8438044           1
16  0.04695164 0.9625518           1
17 -0.19184414 0.8478643           1
18  0.21206490 0.8320564           1
19  0.18524371 0.8530379           1
20 -0.05823122 0.9535645           1
21 -0.11294908 0.9100709           1
22  0.01219277 0.9902718           1
23  0.09566323 0.9237880           1
24  0.05540629 0.9558148           1
25  0.24207427 0.8087226           1
26 -0.02119147 0.9830929           1
27 -0.01865076 0.9851197           1
28  0.17281770 0.8627947           1
29  0.32333361 0.7464426           1
30  0.04234163 0.9662264           1
31  0.05649267 0.9549493           1
32  0.09942635 0.9207998           1
33  0.14029134 0.8884298           1
34  0.09946468 0.9207693           1
35 -0.05523361 0.9559524           1
36  0.16028957 0.8726530           1
37  0.10187792 0.9188536           1
38 -0.12096796 0.9037164           1
39  0.16040716 0.8725603           1
40 -0.29291732 0.7695853           1

$time
[1] "2024-10-19 11:26:23 UTC" "2024-10-19 11:26:24 UTC"

$CALL
tam.fit(tamobj = mod_2pl)

attr(,"class")
[1] "tam.fit"

Infit/Outfit

Item fit calculation based on 15 simulations
|**********|
|----------|

Personfit

Wie gut stimmen die Antwortmuster der Personen mit dem Modell überein?

Infit Outfit

Mögliche weitere Fragestellungen

Wir können uns noch viele weitere Dinge mit unseren Modellen anschauen. Sehr hilfreich dabei kann das Paket ggmirt sein, dass eine Vielzahl von praktischen Plots für die Auswertung bereitstellt.

Item Person Map

Ist die Fähigkeitsrange durch die Items gut Abgedeckt?

ICC

ICC

Item Information Curves

Wie viel Information steuert jedes Item zur Schätzung von Theta bei?

Item Information Curves

Test Information Curve

Summary

Zusammenfassung verschiedener Plots

Tradeoff zwischen Underfit und Overfit

Tradeoff zwischen Underfit und Overfit

Tradeoff zwischen Underfit und Overfit

Mögliche Punkte

Mehr Parameter müsen nicht immer auch besser sein. Gerade im IRT-Kontext können komplexere Modelle schnell an ihre Grenzen kommen und nicht konvergieren.
1PL Modelle sind außerdem nicht so sehr von den tatsächlichen Daten abhängig (ähnlich wie die lineare Regression im Beispiel) und damit ähnlicher über verschiedene Datenerhebungen (da es weniger Möglichkeiten gibt, sich direkt an die Daten anzupassen).

Bei Modellwahl zu beachten:

  • Gewichtung der Items
  • Antwortskala
  • Simulation/Modellfit
  • Ziel

Was tun bei polytomen Items?

Beispielaufgabe

Ich bin bequem, neige zur Faulheit.

(trift überhaupt nicht zu) 1 … 2 … 3 … 4 … 5 (trift voll und ganz zu)

Wie?

Partial Credit

Grundidee

Den einzelnen Antwortkategorien wird eine eigene Schwierigkeit zugeordnet. Dadurch können wir die Antwortwahrscheinlichkeit in einer bestimmten Kategorie berechnen.

Anwendungsbereich

Ordinale Daten (geordnete Antwortkategorien), z.B.:

  • Likert-Skalen
  • Items, die auch mit Teilpunkten bewertet werden können (z.B. in Mathe)

Darstellung

Formel

\[ \pi_{pix}= P(X_{pi}=x|\theta_p, \beta_{ik})= \frac{exp[\sum^x_{j=0}(\theta_p-\beta_{ij})]}{1+exp[\sum^k_{j=0}(\theta_p-\beta_{ij})]} \] ::: aside

  • Person \(p\)
  • Item \(i\)
  • Personenscore \(x\)

:::

Partial Credit Model

\[ \pi_{pix}= \color{#9B1B34}{P(X_{pi}=x|\theta_p, \beta_{ik})}= \frac{exp[\sum^x_{j=0}(\theta_p-\beta_{ij})]}{1+exp[\sum^k_{j=0}(\theta_p-\beta_{ij})]} \]

Partial Credit Model

\[ \pi_{pix}= P(X_{pi}=x|\theta_p, \beta_{ik})= \frac{exp[\sum^x_{j=0}\color{#9B1B34}{(\theta_p-\beta_{ij})}]}{1+exp[\sum^k_{j=0}(\theta_p-\beta_{ij})]} \]

Wichtig:\(\beta_{i\color{#9B1B34}{j}}\) ist jetzt der Schwellenparameter der Kategorie \(j\) des Items \(i\).

Raw score curve

Übung

Gehe zur Partial-Credit-Übung und bearbeite sie.

Bildquellen